#include <bits/stdc++.h>
using namespace std;
map<char,char>ope{{'<','>'},{'{','}'},{'[',']'},{'(',')'}};
int main(){
string s;
stack<char>stk;
int ans=0;
cin>>s;
for(char c:s){
if(ope.find(c)!=ope.end())stk.push(c);
else{
if(stk.empty()){ans=-1;break;}
else{
if(ope[stk.top()]!=c)ans++;
stk.pop();}
}
}
if(ans==-1||stk.size())cout<<"Impossible\n";
else cout<<ans<<'\n';
return 0;}
479C - Exams | 1030A - In Search of an Easy Problem |
158A - Next Round | 71A - Way Too Long Words |
160A - Twins | 1A - Theatre Square |
1614B - Divan and a New Project | 791A - Bear and Big Brother |
1452A - Robot Program | 344A - Magnets |
96A - Football | 702B - Powers of Two |
1036A - Function Height | 443A - Anton and Letters |
1478B - Nezzar and Lucky Number | 228A - Is your horseshoe on the other hoof |
122A - Lucky Division | 1611C - Polycarp Recovers the Permutation |
432A - Choosing Teams | 758A - Holiday Of Equality |
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |
248A - Cupboards | 1641A - Great Sequence |
1537A - Arithmetic Array | 1370A - Maximum GCD |
149A - Business trip | 34A - Reconnaissance 2 |
59A - Word | 462B - Appleman and Card Game |